//
//  ViewController.swift
//  MVVM3
//
//  Created by 李煜 on 2024/7/1.
//

import UIKit

class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource, TaskListViewModelDelegate {
    
    
    @IBOutlet weak var tableView: UITableView!
    
    var tasks: [GTask] = []
    private var viewModel: TaskListViewModel!

    override func viewDidLoad() {
        super.viewDidLoad()
        let taskManager = TaskManager()
        viewModel = TaskListViewModel(taskManager: taskManager)
        viewModel.delegate = self
        // 初始化表格视图等操作

    }

    //MARK: UITableViewDelegate
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        tasks.count
    }
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "TaskCell") as! TaskCell
        cell.configure(withTask: tasks[indexPath.row])
        return cell
    }
    
    //MARK: TaskListViewModelDelegate
    func tasksDidUpdate(_ tasks: [GTask]) {
        // 更新表格视图的数据源
        self.tasks = tasks
        tableView.reloadData()
    }
}

